<?php

// No direct access

defined( '_JEXEC' ) or die( 'Restricted access' );
//require (JPATH_COMPONENT_ADMINISTRATOR . DS . 'config.shop.php');
require (JPATH_ADMINISTRATOR . DS . 'components/com_shop/config.shop.php');
jimport('joomla.application.component.controller');
global $_CB_framework, $mainframe; // подключаем СВ

if ( defined( 'JPATH_ADMINISTRATOR' ) ) {
    if ( ! file_exists( JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php' ) ) {
            echo 'CB not installed!';
            return;
    }

    include_once( JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php' );
} else {
    if ( ! file_exists( $mainframe->getCfg( 'absolute_path' ) . '/administrator/components/com_comprofiler/plugin.foundation.php' ) ) {
            echo 'CB not installed!';
            return;
    }

    include_once( $mainframe->getCfg( 'absolute_path' ) . '/administrator/components/com_comprofiler/plugin.foundation.php' );
}
cbimport( 'cb.database' );
cbimport( 'cb.html' );
$_CB_framework->cbset( '_ui', 1 );	


class ShopController extends JController
{
    static $prop;

    static function conf ($reload=false) {
        if (!$reload && !empty(self::$prop)) return self::$prop;
        $db = &JFactory::getDBO();
        $db->setQuery('SELECT * FROM #__shop_config');
        self::$prop = $db->loadObject();
        // Пушистики конфига
        //printu(self::$prop->all_models_cats,'self::$prop->all_models_cats');
        self::$prop->all_models_cats = json_decode(self::$prop->all_models_cats);
        self::$prop->min_price = str_replace('{min_price_rub}', self::$prop->min_price_rub, self::$prop->min_price);
        return self::$prop;
    }

    function display()
    {
        parent::display(true);
    }

    function addToBasket(){ // ФУНКЦИЯ ДОБАВЛЕНИЯ ТОВАРА В КОРЗИНУ ПОКУПАТЕЛЯ
        // добавление товара в куки
        // осуществляем проверку на работоспособность cookies у пользователя
        $cookie_work = JRequest::getVar('testcookie','',COOKIE);
        $add_articul =JRequest::getString('id','');
        $add_type = JRequest::getString('type','');

        setcookie('continue_buying',$_COOKIE[uri]); // куки для со ссылкой на продолжение покупок
        if($cookie_work != '') { // если cookies включены
            // пытаемся получить корзину покупателя из его cookie
            // в корзине будет нечто следующее <articul>артикул1<type>тип1<count>количество1<end>и так для каждого товара
            $basket = $_COOKIE['basket'];
            if(is_array($basket)) { // если корзина уже установлена
                $update_key = ''; // ключ товара в корзине , который будет обновлятся
                // необходимо проверить есль ли уже в корзине точно такой же товар что и добавляется
                foreach($basket as $key=>$good){
                    // разбираем корзину с помощью регексов
                    preg_match_all('#<articul>(.*)<type>(.*)<count>(.*)<end>#Uis', $good, $matches, PREG_PATTERN_ORDER);
                    // производим сравнение
                    if(urldecode($matches[2][0]) == urldecode($add_type) && $matches[1][0] == $add_articul){
                            $update_key = $key;
                            break;
                    }

                }
                if($update_key != ''){
                        $position = '<articul>'.$add_articul.'<type>'.$add_type.'<count>'.($matches[3][0]+1).'<end>';
                        setcookie('basket['.$update_key.']',$position);
                }
                else{
                        $next_good = 1+count($basket);
                        $position = '<articul>'.$add_articul.'<type>'.$add_type.'<count>1<end>';
                        setcookie('basket['.$next_good.']',$position);
                }
            }
            else{ // если корзина не существует , то просто добавляем товар
                    $position = '<articul>'.$add_articul.'<type>'.$add_type.'<count>1<end>';
                    setcookie('basket[1]',$position);
            }
				
        }
        // если выключены , то пользуемся сессиями
        else {
            $session = &JFactory::getSession();
            $basket = $session->get('basket','');
            if(is_array($basket)){ // если корзина уже установлена
                $update_key = ''; // ключ товара в корзине , который будет обновлятся
                // необходимо проверить есль ли уже в корзине точно такой же товар что и добавляется
                foreach($basket as $key=>$good){
                        // разбираем корзину с помощью регексов
                        preg_match_all('#<articul>(.*)<type>(.*)<count>(.*)<end>#Uis', $good, $matches, PREG_PATTERN_ORDER);
                        // производим сравнение
                        if(urldecode($matches[2][0]) == urldecode($add_type) && $matches[1][0] == $add_articul){
                                $basket[$key] = '<articul>'.$add_articul.'<type>'.$add_type.'<count>'.($matches[3][0]+1).'<end>';;
                                break;
                        }
                }
                $session->set('basket',$basket);
            }
            else{ // если корзина не существует , то просто добавляем товар
                    $basket = array();
                    $basket[] =  '<articul>'.$add_articul.'<type>'.$add_type.'<count>1<end>';
                    $session->set('basket',$basket);
            }
        }
        $link = JRoute::_('index.php?option=com_shop&view=basket', false);
        $this->setRedirect($link);
    }
	
    function trancateBasket($redirect = true){ // функция очистки корзины
        if(is_array($_COOKIE['basket']))
            foreach($_COOKIE['basket'] as $key=>$basket)
                setcookie('basket['.$key.']','',mktime()+1);

        $link = JRoute::_('index.php?option=com_shop&view=basket', false);
        //$message = "Корзина очищена";
        if($redirect)
            $this->setRedirect($link,$message);
    }
	
    function deletGood(){ // функция удаления товара
        $data = JRequest::get('get');
        $cookie_work = JRequest::getVar('testcookie','',COOKIE);
        if($cookie_work != ''){ // если cookies включены
            // пытаемся получить корзину покупателя из его cookie
            // в корзине будет нечто следующее <articul>артикул1<type>тип1<count>количество1<end>и так для каждого товара
            $basket = $_COOKIE['basket'];

            if(is_array($basket)){ // если корзина установлена
                $data = JRequest::get('get');
                // необходимо проверить есль ли уже в корзине товар , который будет удалятся
                foreach($basket as $key=>$good){
                    // разбираем корзину с помощью регексов
                    preg_match_all('#<articul>(.*)<type>(.*)<count>(.*)<end>#Uis', $good, $matches, PREG_PATTERN_ORDER);
                    // производим сравнение
                    if($matches[1][0] == $data['id'] && htmlspecialchars(urldecode($matches[2][0])) == htmlspecialchars($data['type']))
                        // если тип и артикул товара совпадают , то удаляем товар из корзины
                        setcookie('basket['.$key.']','',mktime()+1);
                }
            }
        }
        $link = JRoute::_('index.php?option=com_shop&view=basket', false);
        $this->setRedirect($link,$message);
    }
	
    function calculateBasket(){ // функция пересчета корзины
        $cookie_work = JRequest::getVar('testcookie','',COOKIE);
        if($cookie_work != ''){ // если cookies включены
            // пытаемся получить корзину покупателя из его cookie
            // в корзине будет нечто следующее <articul>артикул1<type>тип1<count>количество1<end>и так для каждого товара
            $basket = $_COOKIE['basket'];
            ksort($basket);
            if(is_array($basket)){ // если корзина установлена
                $data = JRequest::get('post');
                // необходимо проверить есль ли уже в корзине товар , который будет одновлятся
                foreach($basket as $key=>$good){
                    // разбираем корзину с помощью регексов
                    preg_match_all('#<articul>(.*)<type>(.*)<count>(.*)<end>#Uis', $good, $matches, PREG_PATTERN_ORDER);
                    // производим сравнение
                    if($matches[3][0] != $data['quantity'][$key] ){ // если количество в корзине отличается от полученного из формы количества, то обновляем количество товара
                            if($data['quantity'][$key]>0){ // если не равно 0 , то обновляем количество
                                    $update = '<articul>'.$matches[1][0].'<type>'.$matches[2][0].'<count>'.($data['quantity'][$key]).'<end>';
                                    setcookie('basket['.$key.']',$update);
                            }
                            else{
                                    setcookie('basket['.$key.']','',mktime()+1);
                            }
                    }
                }
                //printu($data['payment'],'payment');
                setcookie('basket[payment]',(int)$data['payment']);
                $basket = $_COOKIE['basket'];
                //printu($basket,'$basket');
            }
        }
        //die;
        $link = JRoute::_('index.php?option=com_shop&view=basket', false);
        $this->setRedirect($link,$message);
    }
	
    function doOrder(){ // оформление заказа
        global $_POST,$ueConfig,$_CB_database,$_PLUGINS;
        $oConf = self::conf();
        $data = JRequest::get('post'); // получаем все поля

        $db = &JFactory::getDBO();
        $owner_id = -1;
        $message_type = "message";
        // проверка капчи
        JPluginHelper::importPlugin('system');
        $dispatcher =& JDispatcher::getInstance();
        $results = $dispatcher->trigger( 'onBeforeStoreUser', array($user,true));
        //var_dump($results);
        if($results[0] == false):
            $session = &JFactory::getSession();
            $session->set('lastdata',$data);
            $message = "Вы ввели не правильный проверочный код!";
            $message_type = "error";
            $link = JRoute::_('index.php?option=com_shop&view=basket', false);
            $this->setRedirect($link,$message,$message_type);
            //	echo JText::_('You have not resolved our spamcheck');
            //	jexit();
            //	return;
        else:
        $all_clear =false; // переменная отвечающая за правильность заполнения всего
        if(!(trim($data[fio]) == '' || trim($data[phone]) == '' || trim($data[email]) == '')) // проверяем заполнены ли обязательные поля
        {
            $user = &JFactory::getUser();
            if($user->guest){// если пользователь гость
                // проверяем не зарегистрирован ли на его почту аккаунт
                $user =	new moscomprofilerUser( $_CB_database );
                if($user->loadByEmail($data[email]) == true){
                    // сообщяем пользователю о том , что он не совсем прав и что может типа зайти со своим логином
                    $message = "Пользователь с таким email уже существует , вы можете зайти под своим логином или воспользоваться <a class=\"mod_login\" href=\"http://test.7365.aqq.ru/shop_cms/index.php?option=com_comprofiler&task=lostpassword\">службой восстановления паролей</a>";
                    $link = JRoute::_('index.php?option=com_shop&view=basket', false);
                    $session = &JFactory::getSession();
                    $session->set('lastdata',$data);
                    $message_type = "error";
                    $this->setRedirect($link,$message,$message_type);
                    $this->redirect();
                }
                // проверяем заполнил ли он поле пароль и повторите пароль
                if(trim($data[pass]) != '' && trim($data[pass2]) != '' && $data[pass] == $data[pass2]){
                    // если поля заполнены и корректны, то регистрируем пользователя и приниаем его заказ.

                    $owner_id = $this->_registerUser($data[fio],$data[phone],$data[phone2],$data[adress],$data[email],$data[pass]);
                    if(is_int($owner_id)){
                            $all_clear = true;
                            $message = "Ваш заказ принят! На почту выслана информация для завершения процесса регистрации на сайте.";
                    }
                    else{
                            $message_type = "error";
                            $message = "Ошибка регистрации пользователя!";
                    }
                }
                elseif(trim($data[pass]) != '' && trim($data[pass2]) != '' ){
                        // если поля заполнены , но не равны друг другу , то просто отсылаем обратно с ошибкой и говорим , что поля заполнены не верно!
                        $link = JRoute::_('index.php?option=com_shop&view=basket', false);
                        $message_type = "error";
                        $message = "Пароль и его подтверждение не совпадают. Пожалуйста, попробуйте ещё раз.";
                        $session = &JFactory::getSession();
                        $session->set('lastdata',$data);
                }
                else{
                        // если же поле пароль свободно , то просто добавляем заказ не регистрируя пользователя
                        $owner_id = 0;
                        $all_clear = true;
                        $message = "Ваш заказ принят!";
                }
            }
            else{ //  если пользователь не гость , то проделываем все тоже самое , только добавляем к заказу его id
                    $owner_id = $user->id;
                    $all_clear = true;
                    $data[email] = $user->email;
                    $this->_editUser( $user, $data[fio], $data[adress],$data[phone],$data[phone2] ); // обновляем информацию пользователя
                    $message = "Ваш заказ принят!";
            }
        }
        else{
            $session = &JFactory::getSession();
            $session->set('lastdata',$data);
            $message_type = "error";
            $link = JRoute::_('index.php?option=com_shop&view=basket', false);
            $message = "Некоторые обязательные поля остались не заполнены!";
        }
        // если все нормально , то приступаем к оформлению заказа
        if ($all_clear && $owner_id>=0) {
            // сначала выполним очередную проверку содержимого корзины , вдруг какой-то товар уже исчез
            $basket = $_COOKIE['basket'];
            ksort($basket);
            // если корзина установлена
            if (is_array($basket)) {
                $data = JRequest::get('post');
                $real_basket =array();
                // вычисляем сумму покупки
                $sum = 0;
                $i=1;
                foreach ($basket as $key=>$tovar) {
                    if ($key=='payment') continue;
                    // разбираем строку товара на части
                    preg_match_all('#<articul>(.*)<type>(.*)<count>(.*)<end>#Uis', $tovar, $matches, PREG_PATTERN_ORDER);
                    // проверяем существует ли данный товар в базе данных
                    $query = "SELECT * FROM #__shop_prod WHERE articul='".mysql_real_escape_string($matches[1][0])."'";
                    $db->setQuery($query);
                    $item = $db->loadObject();
                    $exist = $db->loadResult();
                    // проверяем существует ли такой размер/цвет в базе
                    $query = "SELECT * FROM #__shop_fields_values WHERE value='".mysql_real_escape_string(urldecode($matches[2][0]))."' AND object_id=".$item->id." AND field_id=1";
                    $db->setQuery($query);
                    $field = $db->loadObject();
                    $exist &= $db->loadResult();
                    if ($exist != null) { // если товар в базе существует
                        $real_basket[] = '<articul>'.$matches[1][0].'<type>'.$matches[2][0].'<count>'.$matches[3][0].'<price>'.$item->price.'<end>';
                        $sum+= $item->price*$matches[3][0];// считаем сумму товаров
                        $list.= $i.' - '.$item->name.' - '.urldecode($matches[2][0]).' в количестве '.$matches[3][0].' шт по цене '.$item->price." руб. \n";

                        $list_for_owner .= $i;

                        if($field->original_name)
                                $list_for_owner .= ' - '.$field->original_name;
                        else
                                if($item->old_name != '')
                                        $list_for_owner .= ' - '.$item->old_name;
                                else
                                        $list_for_owner .= ' - '.$item->name;

                        if($field->original_articul != '')
                                $list_for_owner .= ' - '.$field->original_articul;
                        else
                                $list_for_owner .= ' - '.$item->articul;

                        $list_for_owner.=' - '.urldecode($matches[2][0]).' в количестве '.$matches[3][0].' шт по цене '.$item->price." руб. Поставщик - ".$item->from_xml."<br>\n";
                        $i++;
                    }
                }
                if(count($real_basket)>0){ // если товар в реальной корзине есть
                    // соединяем весь товар в корзине
                    $content = implode('<br>',$real_basket);
                    // заносим заказ в базу данных
                    $ins_discount = 0;
                    if(!$user->guest){
                        $db->setQuery("SELECT cb_discount FROM #__comprofiler WHERE user_id=".$user->id);
                        $discount = $db->loadRow();
                        $discount = $discount[0];
                        if($discount > 0)
                            $ins_discount = ((int)$sum*(1-$discount/100));
                    }
                    // payments
                    $query = "SELECT * FROM #__shop_payment WHERE published=1 ORDER BY ordering ASC";
                    $db->setQuery($query);
                    $payments = $db->loadObjectList();
                    //printu ($data,'data'); die;
                    foreach ($payments as $oPay) {
                        if (!isset($data['payment']) && $oPay->def== 1 || $data['payment'] == $oPay->id) {
                            if ($oPay->id == 2 && $oConf->min_price_rub != 0 && $sum >= $oConf->min_price_rub)
                                    $oPay->cost = 0;
                            $delivery_sum = $oPay->cost;
                            $delivery_text = $data['payment'] = $oPay->short;
                            //$delivery = ($oPay->id == 3?'1':'0');
                            if ($ins_discount > 0)
                                $total_sum = $ins_discount + $delivery_sum;
                            else
                                $total_sum = $sum + $delivery_sum;
                            
                            //printu($total_sum,'$total_sum');
                            break;
                        }
                    }
                    $query = "INSERT INTO #__shop_orders (
                                ownerid,
                                fio,
                                phone,
                                phone2,
                                email,
                                adress,
                                additional,
                                date,
                                content,
                                payment,
                                status,
                                delivery_sum,
                                sum,
                                discount,
                                discount_sum,
                                total_sum
                            ) VALUES  (
                                '".$owner_id."',
                                '".mysql_real_escape_string($data[fio])."',
                                '".mysql_real_escape_string($data[phone])."',
                                '".mysql_real_escape_string($data[phone2])."',
                                '".mysql_real_escape_string($data[email])."',
                                '".mysql_real_escape_string($data[adress])."',
                                '".mysql_real_escape_string($data[additional])."',
                                NOW(),
                                '".mysql_real_escape_string($content)."',
                                '".mysql_real_escape_string($data['payment'])."',
                                'Ожидает обработки',
                                '".(int)$delivery_sum."',
                                '".(int)$sum."',
                                '".$discount."',
                                '".$ins_discount."',
                                '".$total_sum."'
                            )";
                    $db->setQuery($query);
                    $db->query();
                    $insertid = $db->insertid(); // номер заказа
                    if($db->getErrorMsg() == ''){
                        // очищаем корзину
                        $this->trancateBasket(false);

                        require (JPATH_COMPONENT_ADMINISTRATOR . DS . 'config.shop.php');
                        /* отправляем сообщение о заказе */
                        // Покупателю
                        $mailer =& JFactory::getMailer();
                        $mailer->IsHTML(true);
                        $mailer->setSender(array($oConf->email_adress, 'Магазин "Соблазн"'));
                        $mailer->setSubject('Магазин "Соблазн"');

                        $_user_data =
                        "ФИО: ".mysql_real_escape_string($data[fio])."<br>\n".
                        "Телефон: ".mysql_real_escape_string($data[phone])."<br>\n".
                        "Дополнительный телефон: ".mysql_real_escape_string($data[phone2])."<br>\n".
                        "Email: ".mysql_real_escape_string($data[email])."<br>\n".
                        "Адрес: ".mysql_real_escape_string($data[adress])."<br>\n".
                        "Дополнительная информация: ".mysql_real_escape_string($data[additional])."<br>\n"."<br>\n";

                        $text = $oConf->email_text_receipt;
                        $text = str_ireplace('{id}',$insertid,$text);
                        $text = str_ireplace('{date}',date("d.m.Y"),$text);
                        $text = str_ireplace('{content}',$_user_data.$list,$text);
                        $text = str_ireplace('{delivery_sum}',(int)$delivery_sum,$text);
                        $text = str_ireplace('{delivery_text}',$delivery_text,$text);
                        $text = str_ireplace('{sum}',(int)$sum,$text);
                        $text = str_ireplace('{total_sum}',(int)$total_sum,$text);
                        $d_text = '';
                        if(isset($discount) && $discount>0){
                            $d_text = "<br>\n".$oConf->email_text_discount;
                            $d_text = str_ireplace('{discount}',$discount,$text);
                            $d_text = str_ireplace('{dis_sum}',$ins_discount,$text);
                        }
                        $text = str_ireplace('{discount}',$d_text,$text);
                        $mailer->setBody($text);
                        $mailer->addRecipient($data[email]);
                        if($oConf->email_adress_copy != '')
                            $mailer->addBCC($oConf->email_adress_copy);
                        
                        $rs = $mailer->Send();
                        /* отправляем сообщение о заказе */
                        // Администратору
                        $mailer = JFactory::getMailer();
                        $mailer->IsHTML(true);
                        $mailer->setSender(array($oConf->email_adress, 'Магазин "Соблазн"'));
                        $mailer->setSubject('Магазин "Соблазн"');

                        $text =
                        "Сделан заказ №".$inserid." от ".date("d.m.Y")."<br>\n".
                        "ФИО: ".mysql_real_escape_string($data[fio])."<br>\n".
                        "Телефон: ".mysql_real_escape_string($data[phone])."<br>\n".
                        "Дополнительный телефон: ".mysql_real_escape_string($data[phone2])."<br>\n".
                        "Email: ".mysql_real_escape_string($data[email])."<br>\n".
                        "Адрес: ".mysql_real_escape_string($data[adress])."<br>\n".
                        "Дополнительная информация: ".mysql_real_escape_string($data[additional])."<br>\n"."<br>\n".
                        "Заказано:\n".$list_for_owner."<br>\n".
                        "Общая сумма: ".$sum."<br>\n";
                        if(isset($discount) && $discount>0){
                            $text.= "Размер скидки ".$discount."%<br>\n";
                            $text.= "Сумма с учетом скидки: ".$ins_discount."<br>\n";
                        }
                        $text.= "Доставка: ".$delivery_sum."<br>\n".$delivery_text."<br>\n<br>\n";
                        $text.= "<b>Итого: ".$total_sum."</b>";
                        $mailer->setBody($text);
                        if(isset($oConf->email_adress_copy))
                            $mailer->addRecipient($oConf->email_adress_copy);
                        $rs	= $mailer->Send();
                    } else {
                        //$message = $db->getErrorMsg();
                        $message = 'Ошибка оформления заказа';
                        $message_type = "error";
                        // отправляем поля формы через сессии
                        //echo $db->getErrorMsg();
                        //exit;
                        $session = &JFactory::getSession();
                        $session->set('lastdata',$data);
                    }
                }
            }
        }
        $link = JRoute::_('index.php?option=com_shop&view=basket', false);
        $this->setRedirect($link,$message,$message_type);
        endif;
    }
	
	function _registerUser( $fio,$phone,$phone2,$adress, $email, $password ) {
		global $_CB_framework, $_CB_database,$ueConfig,$_PLUGINS;
		$_PLUGINS->loadPluginGroup('user');
		$_PLUGINS->trigger( 'onStartSaveUserRegistration', array() );
		$ueConfig['emailpass'] = 1;
		$row			=	new moscomprofilerUser( $_CB_database );
		$row->usertype		=	$_CB_framework->getCfg( 'new_usertype' );
		$row->gid		=	$_CB_framework->acl->get_group_id( $row->usertype, 'ARO' );
		$row->confirmed		=	0;
		$row->approved		=	1;
		$row->id = 0;
		$row->block		=	1;
		$row->sendEmail		=	0;
		$row->registerDate	=	date( 'Y-m-d H:i:s', $_CB_framework->now() );
		$row->name		=	$fio; // ФИО
		$row->username = $email;
		$row->email		=	$email;
		$row->password		=	cbHashPassword( $password );
		$row->registeripaddr		=	cbGetIPlist();
		$row->cbactivation = '';
		$row->cb_adress = $adress;
		$row->cb_phone = $phone;
		$row->cb_phone2 = $phone2;
		
	
		$row->store();
		$row->storeConfirmedCode( );  // функция установка кода подтверждения пришлось написать вручную т.к. код не устанавливался автоматически почему-то
		// функция находится в файле cb.tables.php
	
		//$saveResult = $row->saveSafely( $array,  $_CB_framework->getUi(), 'register' );
		$row->password = $password;
		$messagesToUser = activateUser( $row, 1, "UserRegistration" ); // отправляем письмо с подтверждением на почту
		$_PLUGINS->trigger( 'onAfterUserRegistrationMailsSent', array( &$userComplete, &$userComplete, &$messagesToUser, $ueConfig['reg_confirmation'], $ueConfig['reg_admin_approval'], true));
		return $row->id; // возвращаем id созданного пользователя
		
		
	}
	
	function _editUser( $user, $fio, $adress,$phone,$phone2 ) { // редактирование введенных пользователем полей
		global $_CB_framework, $_CB_database;
	 
		$row			=	new moscomprofilerUser( $_CB_database );
		
		if ( $user->id ) {
			$row->load( $user->id );
		}
		$row->name		=	$fio; // ФИО
		$row->cb_adress = $adress;
		$row->cb_phone = $phone;
		$row->cb_phone2 = $phone2;
		
		/*
		$row->usertype		=	$_CB_framework->getCfg( 'new_usertype' );
		$row->gid		=	$_CB_framework->acl->get_group_id( $row->usertype, 'ARO' );
		$row->confirmed		=	1;
		$row->approved		=	1;
		$row->block		=	0;
		$row->sendEmail		=	0;
		$row->registerDate	=	date( 'Y-m-d H:i:s', $_CB_framework->now() );
		$row->name		=	$fname . ' ' . $lname;
		$row->firstname		=	$fname;
		$row->lastname		=	$lname;
		$row->username		=	$username;
		$row->email		=	$email;
		$row->password		=	cbHashPassword( $password );*/
	 
		if ( ! $row->store() ) {
			trigger_error( sprintf( 'registerUser SQL Error: %s', $row->getError() ), E_USER_ERROR );
	}
}
	
}